beginfig(1);
a=.7in; b=0.5in;
z0=(0,0); z1=(a,0); z2=(0,b);
z0=.5[z1,z3]=.5[z2,z4];
draw z1..z2..z3..z4..cycle;
drawarrow z0..z1;
drawarrow z0..z2;
label.top(btex a etex, .5[z0,z1]);
label.lft(btex b etex, .5[z0,z2]);
endfig;
beginfig(2);
h=2in; w=2.7in;
path p[], q[], pp;
for i=1.5,2,4:
ii := i**2;
p[i] = (w/ii,h)1/ii,-1...(w/i,h/i)...(w,h/ii)1,-1/ii;
endfor
for i=.5,1.5:
q[i] = origin..(w,i*h) cutafter p1.5;
endfor
pp = buildcycle(q0.5, p2, q1.5, p4);
fill pp withcolor .8white;
z0=center pp;
picture lab; lab=thelabel(btex f > 0 etex, z0);
unfill bbox lab; draw lab;
draw q0.5; draw p2; draw q1.5; draw p4;
makelabel.top(btex P etex, p2 intersectionpoint q0.5);
makelabel.rt(btex Q etex, p2 intersectionpoint q1.5);
endfig;
beginfig(3);
3.2scf = 2.4in;
path fun;
# = .1;